package com.wh.wisdomsite.xbox.st.dao;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.wh.wisdomsite.xbox.st.entity.PurchaseApply;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;
import org.springframework.stereotype.Repository;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * 采购申请Dao
 * @author 刘旭
 * @version V1.0
 * @Package com.wh.wisdomsite.xbox.st.dao
 * @date 2018年12月24日 14:23
 * @Copyright 企业版权所有
 * @Company 贵州万华科技有限公司Copyright (c) 2018
 */
@Repository
public interface PurchaseApplyMapper extends BaseMapper<PurchaseApply> {
    /**
     * 获取申请已经上报分页列表
     * @param var1
     * @param var2
     * @return
     */
    List<Map<String, Object>> getReportedPage(RowBounds var1, @Param("ew") Wrapper<PurchaseApply> var2);

    /**
     * 获取完整信息的PurchaseApply
     * @param id
     * @return
     */
    Map<String,Object> getMapById(@Param(value = "id")Serializable id);

    /**
     * 获取完整信息的PurchaseApply分页列表
     * @param var1
     * @param var2
     * @return
     */
    List<Map<String,Object>> getMapsPage(RowBounds var1, @Param("ew")Wrapper<PurchaseApply> var2);

    /**
     * 获取完整信息的PurchaseApply分页列表
     * @param var1
     * @param var2
     * @return
     */
    List<Map<String,Object>> getMapsListPage(RowBounds var1, @Param("ew")Wrapper<PurchaseApply> var2);

    /**
     * 根据请购id,获取已请购总数量,合同表清单id
     * @param purId
     * @return
     */
    List<Map<String,Object>> getSumPurChasedNumByPurId(@Param("purId") String purId);


    /**
     * 根据请购单号获取对象
     * @param purId  请购单号
     * @return
     */
    PurchaseApply getPurchaseApplyByPurId(@Param("purId") String purId);


    /**
     * 获取请购数据
     * @param purchaseApply
     * @return
     */
    List<PurchaseApply> queryPage(@Param("page")Page page, @Param("purchaseApply")PurchaseApply purchaseApply,@Param("compCode")String compCode);

    /**
     * 获取请购数据
     * @param purchaseApply
     * @return
     */
    List<PurchaseApply> selectPage(@Param("page")Page page, @Param("purchaseApply")PurchaseApply purchaseApply,@Param("compCode")String compCode);



}
